package com.zhdl.hardware.motor.leisai.repository;

import com.zhdl.modules.tools.CommonCallback;

public interface LeisaiPortCmdHandleDao {

    void leisaiReadAlarmMessage(String port, String slaveStationId, CommonCallback<String> callback);

    void leisaiSetMotorModel(String port, String slaveStationId, int model);

    void leisaiNowWarnReset(String port, String slaveStationId);

    void leisaiLastWarnReset(String port, String slaveStationId);

    /**
     * 读取电机当前位置
     *
     * @param port           串口
     * @param slaveStationId 从站Id
     */
    void leisaiReadCurrentLocation(String port, String slaveStationId, CommonCallback<String> callback);

    /**
     * 设置电机移动距离
     *
     * @param port           串口
     * @param slaveStationId 从站Id
     * @param distance       距离
     */
    void leisaiSetMoveDist(String port, String slaveStationId, int distance);

    /**
     * 雷赛电机-电机移动速度
     *
     * @param slaveStationId 从站Id
     * @param speed          写入值
     */
    void leisaiSetMoveSpeed(String port, String slaveStationId, int speed);

    /**
     * 雷赛电机-电机急停
     *
     * @param port           串口
     * @param slaveStationId 从站Id
     */
    void leisaiEmergencyStop(String port, String slaveStationId);

    void leisaiReady(String port, String slaveStationId);
}
